Recently, human face detection technology is widely used in various application fields. For example, this technology can be used in digital video devices and office apparatus, such as digital camera, digital video camera, printer, scanner and the like. It is well known that images of persons are the principal part of a digital image in general. To make an image including one or more human faces reflect the object in a more real mode, some processes, such as automatically remedying skin color of the face, removing red eyes, removing glasses, judging expressions of the face and the like, should be performed. All the above processes are based on human face detection technology.
Human face detection is a process of detecting the locations in images where faces are present. However, face detection is a challenging task because of variability in scale, location, orientation (up-right, rotated), and pose (frontal, profile). Facial expression and lighting conditions also change the overall appearance of faces.
Conventionally, the methods for face detection are classified into four categories, i.e., knowledge-based methods, feature-based methods, template matching methods and appearance-based methods.
The knowledge-based methods encode human knowledge of what constitutes a typical face. Usually, the rules capture the relationships between facial features. These methods are designed mainly for face localization.
The feature-based methods aim to find structural features that exist even when the pose, viewpoint, or lighting conditions vary, and then use these to locate faces. These methods are designed mainly for face localization.
In the template matching methods, several standard patterns of a face are stored to describe the face as a whole or the facial features separately. The correlations between an input image and the stored patterns are computed for detection. These methods have been used for both face localization and detection.
In the appearance-based methods, the models are learned from a set of training images which should capture the representative variability of facial appearance. These learned models are then used for detection. These methods are designed mainly for face detection.
In the feature-based methods, invariant features of faces are found for detection. The underlying assumption is based on the observation that humans can effortlessly detect faces and objects in different poses and lighting conditions, and therefore there must exist properties or features which are invariant over these variabilities. Numerous methods have been proposed to first detect facial features and then to infer the presence of a face. Facial features such as eyebrows, eyes, nose, mouth, and hair-line are commonly extracted using edge detectors. Based on the extracted features, a statistical model is built to describe their relationships and to verify the existence of a face. One problem with these feature-based algorithms is that the image features can be severely corrupted due to illumination, noise, and occlusion. Feature boundaries can be weakened for faces, while shadows can cause numerous strong edges which together render perceptual grouping algorithms useless.
In general, facial features, texture in human faces and skin color are taken as the feature invariant in the feature-based methods. Further, several facial features, such as skin color, size and shape are combined to find face candidates, and then verify these face candidates using local, detailed features such as eye brows, nose, and hair etc.
Human skin color has been used and proven to be an effective feature in many applications for face detection. Color information is an efficient tool for identifying facial areas and specific facial features if the skin color model can be properly adapted for different lighting environment. However, such skin color models are not effective where the spectrum of the light source varies significantly. In other words, color appearance is often unstable due to changes in both background and foreground lighting.
Moreover, many of the above models only can process the images of specified races. If a skin color model for a specific race is used to process an image including one or more human faces of other race, wrong result may occur.
These prior skin color models use absolute values of face skin colors of the face candidates to determine whether or not they are real human faces. In other words, these skin color models explicitly define the boundaries of skin cluster in some color space.
Therefore, it is difficult to determine exactly whether or not the images taken under various illumination conditions are real human faces. Also, the prior skin color models cannot be used to process the images including the human faces of various races.
Red eye is the appearance of an unnatural red hue around a person's pupil. It is usually caused by the light of flash reflection from the blood vessels. At present, there are numerous methods of identifying red eyes.
In the existent methods of identifying red eyes, candidates for red eye regions are first identified in a digital image, and then further detections or calculations are made to determine whether the candidates for red eye regions are red eyes or not. Usually the candidates for red eye regions include skin color pixels, but not red eye pixels. The inclusion of skin color pixels in candidates for red eye regions lowers the accuracy of detecting red eyes.